package cn.iocoder.yudao.module.call.controller.admin.stat.vo;

import lombok.*;

import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 外呼统计报分页 Request VO")
@Data
@ToString(callSuper = true)
public class StatReqVO {

    @Schema(description = "负责人", example = "25064")
    private Long ownerUserId;

    @Schema(description = "deptId")
    private Long deptId;

    @Schema(description = "坐席工号")
    private String agentNumber;

    @Schema(description = "呼叫总量", example = "20645")
    private Integer totalCount;

    @Schema(description = "接通量", example = "22388")
    private Integer successCount;
    @Schema(description = "漏接量", example = "22388")
    private Integer leakCount;
    @Schema(description = "失败量", example = "22388")
    private Integer failCount;
    @Schema(description = "错误量", example = "22388")
    private Integer illegalCount;


    @Schema(description = "接通率")
    private Double rate;

    @Schema(description = "呼叫时长(秒)")
    private Integer callSecond;

    @Schema(description = "计费分钟")
    private Integer callMinute;

    @Schema(description = "年")
    private Integer year;

    @Schema(description = "月")
    private Integer month;

    @Schema(description = "日")
    private Integer day;

    @Schema(description = "周")
    private Integer week;

    @Schema(description = "小时")
    private Integer hour;

    @Schema(description = "时间区间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] times;


    @Schema(description = "时间维度")
    private String group;

    @Schema(description = "分组")
    private String[] groups;

    @Schema(description = "排序")
    private String sortStr;

    @Schema(description = "处理后的排序")
    private String[] sorts;

    @Schema(description = "指定的租户ID")
    private Long tenantId;
}